<?php

return array(
	"php" => 5.3,
	"name" => "Создание функций, лямбд и методов",
	"tests" => array(
		"func" => array(
			"code" => '
function tt_1() {
	if(rand(0, 1)) return rand(1, 2);
	else return rand(2, 3);
}
function tt_2() {
	if(rand(0, 2)) return rand(1, 4);
	else return rand(2, 3);
}
function tt_3() {
	if(rand(0, 3)) return rand(1, 5);
	else return rand(2, 3);
}
function tt_4() {
	if(rand(0, 4)) return rand(1, 6);
	else return rand(2, 3);
}
function tt_5() {
	if(rand(0, 5)) return rand(1, 7);
	else return rand(2, 3);
}',
			"desc" => "Создание 5-и функций",
		),
		"closure" => array(
			"code" => '
$tt_1 = function () {
	if(rand(0, 1)) return rand(1, 2);
	else return rand(2, 3);
};
$tt_2 = function () {
	if(rand(0, 2)) return rand(1, 4);
	else return rand(2, 3);
};
$tt_3 = function () {
	if(rand(0, 3)) return rand(1, 5);
	else return rand(2, 3);
};
$tt_4 = function () {
	if(rand(0, 4)) return rand(1, 6);
	else return rand(2, 3);
};
$tt_5 = function () {
	if(rand(0, 5)) return rand(1, 7);
	else return rand(2, 3);
};',
			"desc" => "Создание 5-и аноноимных функцмий",
		),
		"static" => array(
			"code" => '
class tt_class {
	public static function tt_1() {
		if(rand(0, 1)) return rand(1, 2);
		else return rand(2, 3);
	}
	public static function tt_2() {
		if(rand(0, 2)) return rand(1, 4);
		else return rand(2, 3);
	}
	public static function tt_3() {
		if(rand(0, 3)) return rand(1, 5);
		else return rand(2, 3);
	}
	public static function tt_4() {
		if(rand(0, 4)) return rand(1, 6);
		else return rand(2, 3);
	}
	public static function tt_5() {
		if(rand(0, 5)) return rand(1, 7);
		else return rand(2, 3);
	}
}',
			"desc" => "Создание статического класса с 5-ю методами",
		),
		"static-extends" => array(
			"code" => '
class tt_exclass extends tt_class {
	public static function tt_1() {
		if(rand(0, 1)) return rand(1, 2);
		else return rand(2, 9);
	}
	public static function tt_2() {
		if(rand(0, 2)) return rand(1, 4);
		else return rand(2, 9);
	}
	public static function tt_3() {
		if(rand(0, 3)) return rand(1, 5);
		else return rand(2, 9);
	}
	public static function tt_4() {
		if(rand(0, 4)) return rand(1, 6);
		else return rand(2, 9);
	}
	public static function tt_5() {
		if(rand(0, 5)) return rand(1, 7);
		else return rand(2, 9);
	}
}',
			"desc" => "Создание статического класса с 5-ю методами + наследование класса с теми же методами",
		),
		"object" => array(
			"code" => '
class tt_class_1 {
	public function tt_1() {
		if(rand(0, 1)) return rand(1, 2);
		else return rand(2, 9);
	}
	public function tt_2() {
		if(rand(0, 2)) return rand(1, 4);
		else return rand(2, 9);
	}
	public function tt_3() {
		if(rand(0, 3)) return rand(1, 5);
		else return rand(2, 9);
	}
	public function tt_4() {
		if(rand(0, 4)) return rand(1, 6);
		else return rand(2, 9);
	}
	public function tt_5() {
		if(rand(0, 5)) return rand(1, 7);
		else return rand(2, 9);
	}
}
$a = new tt_class_1();',
			"desc" => "Создание объекта с 5-ю методами",
		),
		"object-extends" => array(
			"code" => '
class tt_class_2 extends tt_class_1 {
	public function tt_1() {
		if(rand(0, 1)) return rand(1, 2);
		else return rand(2, 9);
	}
	public function tt_2() {
		if(rand(0, 2)) return rand(1, 4);
		else return rand(2, 9);
	}
	public function tt_3() {
		if(rand(0, 3)) return rand(1, 5);
		else return rand(2, 9);
	}
	public function tt_4() {
		if(rand(0, 4)) return rand(1, 6);
		else return rand(2, 9);
	}
	public function tt_5() {
		if(rand(0, 5)) return rand(1, 7);
		else return rand(2, 9);
	}
}
$a = new tt_class_2();',
			"desc" => "Создание объекта с 5-ю методами + наследование класса с теми же методами",
		),
		"create_function" => array(
			"code" => "\$newfunc = create_function('', 'if(rand(0, 1)) return rand(1, 2); else return rand(2, 9);');",
			"i" => 5,
			"desc" => "Создание функции через create_function"
		)
	)
)
?>
